package com.ruoyi.common.core.domain.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

/**
 * 类描述：用于封装富友支付响应的数据传输对象 (DTO)。
 */
@Data
public class fuYouDTO {
    @JsonProperty("mchnt_cd")
    private String mchntCd; // 商户号

    @JsonProperty("qr_code")
    private String qrCode; // 二维码信息，如果有的话

    @JsonProperty("random_str")
    private String randomStr; // 请求随机字符串，用于签名

    @JsonProperty("reserved_addn_inf")
    private String reservedAddnInf; // 附加信息

    @JsonProperty("reserved_channel_order_id")
    private String reservedChannelOrderId; // 渠道订单号

    @JsonProperty("reserved_fy_order_no")
    private String reservedFyOrderNo; // 富友订单号

    @JsonProperty("reserved_fy_settle_dt")
    private String reservedFySettleDt; // 富友结算日期

    @JsonProperty("reserved_fy_trace_no")
    private String reservedFyTraceNo; // 富友跟踪号

    @JsonProperty("reserved_pay_info")
    private String reservedPayInfo; // 支付信息，通常包含加密的支付详情

    @JsonProperty("reserved_transaction_id")
    private String reservedTransactionId; // 交易ID

    @JsonProperty("result_code")
    private String resultCode; // 结果代码

    @JsonProperty("result_msg")
    private String resultMsg; // 结果消息

    @JsonProperty("sdk_appid")
    private String sdkAppid; // SDK App ID

    @JsonProperty("sdk_noncestr")
    private String sdkNoncestr; // SDK 随机字符串

    @JsonProperty("sdk_package")
    private String sdkPackage; // SDK 包名

    @JsonProperty("sdk_partnerid")
    private String sdkPartnerid; // SDK 合作伙伴ID

    @JsonProperty("sdk_paysign")
    private String sdkPaysign; // SDK 支付签名

    @JsonProperty("sdk_signtype")
    private String sdkSigntype; // SDK 签名类型

    @JsonProperty("sdk_timestamp")
    private String sdkTimestamp; // SDK 时间戳

    @JsonProperty("session_id")
    private String sessionId; // 会话ID

    @JsonProperty("sign")
    private String sign; // 签名

    @JsonProperty("sub_appid")
    private String subAppid; // 子应用ID

    @JsonProperty("sub_mer_id")
    private String subMerId; // 子商户ID

    @JsonProperty("sub_openid")
    private String subOpenid; // 用户标识

    @JsonProperty("term_id")
    private String termId; // 终端ID

}
